/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.beautycenter.bean;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author Romulo
 */

@Entity
@Table(name = "AGENDA")
public class Agenda implements Serializable{
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="ID_AGENDA")
    private int idAgenda;

    @Column(name="DATA_AGENDAMENTO")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataAgendamento;
    
    @Column(name="HORARIO")
    @Temporal(javax.persistence.TemporalType.TIME)
    private Date horario;
    
    //Relacionamento 1-1
    @OneToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_FUNCIONARIO")
    private Funcionario Funcionario;
    
    //Relacionamento 1-N
    @OneToMany(mappedBy="agenda")
    private List<Cliente> listaPacientes;
    
    @OneToMany(mappedBy="agenda")
    private List<PacoteTratamento> listaPacotesTratamento;
    
    public int getIdAgenda() {
        return idAgenda;
    }

    public void setIdAgenda(int idAgenda) {
        this.idAgenda = idAgenda;
    }

    public Date getData() {
        return dataAgendamento;
    }

    public void setData(Date data) {
        this.dataAgendamento = data;
    }

    public Date getHorario() {
        return horario;
    }

    public void setHorario(Date horario) {
        this.horario = horario;
    }

    public Funcionario getFuncionario() {
        return Funcionario;
    }

    public void setFuncionario(Funcionario Funcionario) {
        this.Funcionario = Funcionario;
    }

    public Date getDataAgendamento() {
        return dataAgendamento;
    }

    public void setDataAgendamento(Date dataAgendamento) {
        this.dataAgendamento = dataAgendamento;
    }

    public List<Cliente> getListaPacientes() {
        return listaPacientes;
    }

    public void setListaPacientes(List<Cliente> listaPacientes) {
        this.listaPacientes = listaPacientes;
    }

    public List<PacoteTratamento> getListaPacotesTratamento() {
        return listaPacotesTratamento;
    }

    public void setListaPacotesTratamento(List<PacoteTratamento> listaPacotesTratamento) {
        this.listaPacotesTratamento = listaPacotesTratamento;
    }   
    
}
